Modern computer systems often use software to organize and monitor business processes. Often software is updated to correct errors, add features, or improve user interface. Software used for organization and monitoring of business processes may also be upgraded or updated to account for changes in law, business practices, organizational structures, and business policies. The updating of such software is often known as a migration, as information from one version is transferred or used in the next.